<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
// 普通函数
// function fn1(){} // 函数声明
// var fn2 = function (){} // 函数表达式
// function (){} // 匿名函数

// 箭头函数
// 语法：(形参)=>{函数体}
// 使用普通函数时，匿名函数的地方都可以替换成箭头函数！
// let f1 = ()=>{}
// setTimeout(()=>{},10)
// btn.onclick = ()=>{}

// 箭头函数简写：
// 1.如果只有一个形参，可以省略小括号
let fn1 = x => {
    console.log( x + 1 );
    console.log( x + 2 );
}
fn1(1);

// 2.如果函数体中只有一条语句，可以省略大括号
let fn2 = () => console.log( 'hello' );
fn2();

// 3.如果函数体中只有一条语句并且为return语句时，return和大括号都可以省略
let fn3 = x => x;
// let fn3 = (x) => {
//     return x;
// };
fn3(3);

let fn4 = _ => _;
// let fn4 = (_) => {
//     return _;
// }
fn4(4);

// 注意：箭头函数没有函数声明的形式！！
// fn5()=>{}

</script>
</body>
</html>